.TH std::counting_semaphore::try_acquire_for 3 "2024.06.10" "http://cppreference.com" "C++ Standard Libary"
.SH NAME
std::counting_semaphore::try_acquire_for \- std::counting_semaphore::try_acquire_for

.SH Synopsis
   template< class Rep, class Period >
   bool try_acquire_for( const std::chrono::duration<Rep, Period>&        \fI(since C++20)\fP
   rel_time );

   Tries to atomically decrement the internal counter by 1 if it is greater than 0;
   otherwise blocks until it is greater than 0 and can successfully decrement the
   internal counter, or the rel_time duration has been exceeded.

.SH Preconditions

   \fI(none)\fP

.SH Parameters

   rel_time - the minimum duration the function must wait for it to fail

.SH Return value

   true if it decremented the internal counter, otherwise false.

.SH Exceptions

   May throw std::system_error or a timeout-related exception.

.SH Notes

   In practice the function may take longer than rel_time to fail.

.SH See also

   release           increments the internal counter and unblocks acquirers
                     \fI(public member function)\fP
   acquire           decrements the internal counter or blocks until it can
                     \fI(public member function)\fP
   try_acquire       tries to decrement the internal counter without blocking
                     \fI(public member function)\fP
                     tries to decrement the internal counter, blocking until a point in
   try_acquire_until time
                     \fI(public member function)\fP
